package com.giscloud.amp.dao;

import com.giscloud.amp.entity.AmpOrg;
import com.giscloud.amp.entity.AmpOrgExample;
import com.giscloud.amp.entity.dto.AmpOrgDTO;
import com.giscloud.amp.entity.vo.AmpOrgTreeVO;
import com.giscloud.amp.entity.vo.AmpOrgVO;
import com.giscloud.amp.entity.vo.OrgTreeVO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;


public interface AmpOrgMapper {
    long countByExample(AmpOrgExample example);

    int deleteByExample(AmpOrgExample example);

    int insert(AmpOrg record);

    int insertSelective(AmpOrg record);

    List<AmpOrg> selectByExample(AmpOrgExample example);

    List<AmpOrgVO> findOrgByExample(@Param("record") AmpOrg auth, @Param("example") AmpOrgExample example);

    int updateByExampleSelective(@Param("record") AmpOrg record, @Param("example") AmpOrgExample example);

    int updateByExample(@Param("record") AmpOrg record, @Param("example") AmpOrgExample example);

    List<AmpOrgVO> findOrgTree(AmpOrg ampOrg);

    List<AmpOrgVO> findOrgByOrgName(AmpOrg ampOrg);

    List<AmpOrgVO> findOrgByOrgId(AmpOrg ampOrg);

    List<OrgTreeVO> listOrgTreeByExample(AmpOrgExample example);

    List<OrgTreeVO> listOrgTreeByDTO(AmpOrgDTO ampOrgDTO);

    List<AmpOrgTreeVO> findAmpOrgTree(AmpOrgDTO ampOrgDTO);
}